<?php
require_once('proyecto/dao_proyecto.php');
require_once('excepcion.php');
class ci_comentario extends bapim_ci
{
	//Variables
	protected $s__datos_filtro;
	protected $s__where;
	protected $id_proyecto;
	protected $where2;
	protected $s__datos_cuadro;
	protected $s__id_proyecto;
	
	//-----------------------------------------------------------------------------------
	//---- Configuracion-----------------------------------------------------------------
	//-----------------------------------------------------------------------------------
	/*function get_cn()
	{
		return $this->controlador->cn();
	}*/
	
	//-----------------------------------------------------------------------------------
	//---- Eventos ----------------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function evt__agregar()
	{
		$this->set_pantalla('pant_edicion');
	}
	
	//-----------------------------------------------------------------------------------
	//---- cuadro_comentario ------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__cuadro_comentario(bapim_ei_cuadro $cuadro)
	{
		/*if (isset($this->s__datos_filtro)) {
				$datos = dao_proyecto::get_listado_comentarios($this->s__where);
		} else {
				$datos = dao_proyecto::get_listado_comentarios();
		}
		$cuadro->set_datos($datos);*/

		/*$proyecto = $this->cn()->get_proyecto();
		//ei_arbol($proyecto);
		if (isset($proyecto['idproyecto']))
		{
			$this->s__id_proyecto = $proyecto['idproyecto'];		
			
			if(isset($this->s__datos_filtro)){
					$where2 = $this->s__where. " and comentarios.idproyecto = $this->s__id_proyecto";
			}else{
				$where2 = " comentarios.idproyecto = $this->s__id_proyecto";
			}
		
			if (isset($this->s__datos_filtro)) {
				$datos = dao_proyecto::get_listado_comentarios($where2);	
			} else {
				$datos = dao_proyecto::get_listado_comentarios($where2);
			}
			if (isset($datos) && !empty($datos)) {
				$cuadro->set_datos($datos);
			}
		}*/
		
		$proyecto = $this->cn()->get_proyecto();
		$idproyecto = $proyecto['idproyecto'];
		ei_arbol($idproyecto);
		
		if(isset($this->s__where)){
				$where2 = $this->s__where. "and idproyecto = $idproyecto";
		}else{
			$where2 = "idproyecto  = $idproyecto";
		}
	
		if(isset($this->s__datos_filtro))
		{
			$datos = dao_proyecto::get_listado_comentarios($where2);	
		}
		else
		{
			$datos = dao_proyecto::get_listado_comentarios($where2);
		}
		
		$cuadro->set_datos($datos);
	}

	function evt__cuadro_comentario__seleccion($seleccion)
	{
		//$this->cn()->cargar_comentario($seleccion);
		$id_memoria = $this->cn()->traer_id_memoria_comentario($seleccion);
		$this->cn()->set_cursor_comentario($id_memoria[0]);
		$this->set_pantalla('pant_edicion');
	}

	function evt__cuadro_comentario__borrar($seleccion)
	{
		//$this->cn()->cargar_comentario($seleccion);
		$id_memoria = $this->cn()->traer_id_memoria_comentario($seleccion);
		$this->cn()->eliminar_comentario($id_memoria[0]);
		try{
			$this->cn()->guardar();
		}catch (toba_error_db $error) {
			$codigo = $error->get_sqlstate();
			excepcion::get_mensaje_error($codigo, ' Comentario ', ' El ');
			$this->cn()->resetear();
		}
	}

	//-----------------------------------------------------------------------------------
	//---- frm_comentario ---------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__frm_comentario(bapim_ei_formulario $form)
	{
		if ($this->cn()->hay_cursor_comentario()) {
			$datos = $this->cn()->get_comentario();
			$form->set_datos($datos); 
		}
	}

	function evt__frm_comentario__alta($datos)
	{
		$this->cn()->set_comentario($datos);
				
		try{
			$this->cn()->guardar();	
		}catch (toba_error_db $error) {
				$codigo = $error->get_sqlstate();
				excepcion::get_mensaje_error($codigo, ' Comentario ', ' EL ');
				$this->cn()->resetear();
		}
		$this->set_pantalla('pant_inicial');
	}

	function evt__frm_comentario__modificacion($datos)
	{
		if ($this->cn()->hay_cursor_comentario()) {
			$this->cn()->set_comentario($datos);
			try{
				$this->cn()->guardar();	
			}catch (toba_error_db $error) {
				$sql_state = $error->get_sqlstate();
				$codigo = $error->get_sqlstate();
				excepcion::get_mensaje_error($codigo, ' Comentario ', ' El ');
				$this->cn()->resetear();
			}
			$this->set_pantalla('pant_inicial');
		}
	}

	function evt__frm_comentario__cancelar()
	{
		$this->cn()->resetear();
		$this->set_pantalla('pant_inicial');
	}

	//-----------------------------------------------------------------------------------
	//---- filtro_comentario ------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__filtro_comentario(bapim_ei_filtro $filtro)
	{
		if (isset($this->s__datos_filtro)) {
			$filtro->set_datos($this->s__datos_filtro);
			$this->s__where = $filtro->get_sql_where();
		}
	}

	function evt__filtro_comentario__filtrar($datos)
	{
		$this->s__datos_filtro = $datos;
	}

	function evt__filtro_comentario__cancelar()
	{
		unset($this->s__datos_filtro);
	}

	

}
?>
